1. Field of the Invention
The present invention relates to computer systems, and deals more particularly with methods, systems, and computer program products for programmatically predicting and adjusting users' working hours and calendar events for electronic calendar systems.
2. Description of the Related Art
Calendars, and electronic calendars in particular, often contain a wealth of information about their owner. For example, an individual may use an electronic calendar to maintain information about his work schedule, his meetings and other appointments, his vacation and business travel plans (including when he will be away, which flights or other transportation he will use, where he can be reached while away, who he may visit while away, etc.), phone calls that need to be made at particular times, and so forth. Examples of electronic calendar systems include Microsoft Outlook® 2000 and Lotus Notes®. (“Outlook” is a registered trademark of Microsoft Corporation, and “Lotus Notes” is a registered trademark of Lotus Development Corporation.)
Electronic calendars may be accessed by people and/or by applications. Calendar data can be used to automate tasks and to inform others about things such as whether the calendar owner is currently available, or is out of the office on business, and so forth. For example, the related invention titled “Calendar Events and Calendar-Driven Application Technique” (U. S. Pat. No. 6,988,128) uses calendar data to automate voice mail greetings, among other things. It does this by analyzing calendar data, including a person's scheduled working hours and other scheduled events. The related invention titled “Calendar-Enhanced Awareness for Instant Messaging Systems and Electronic Status Boards” (U.S. Pat. No. 7,035,865) discloses techniques whereby calendar data is used as input to instant messaging (“IM”) systems and electronic status boards. With the increasing use of calendar data, such as disclosed in these related inventions, it becomes more important to keep calendar data up-to-date and accurate.
In today's working environment, many employees are allowed to have a flexible working schedule. Some employees may choose to arrive much earlier than a conventional work day, in order to leave earlier. For example, Mary might start work at 6 a.m. so she can leave by 2:30 p.m. to pick up her children from school. Or, other employees might choose to arrive later in the morning and then work into the evening, perhaps to avoid traffic congestion. Some organizations with flexible working hours (commonly referred to as “flex-time”) allow employees to work several longer-than-conventional days, and then have a short work day—or to take a day off during the conventional work week. Fred, for example, might work from 8 a.m. to 5:30 p.m. Monday through Thursday, and then only from 8 a.m. to noon on Friday, so he can play golf in the afternoon. because their times will appear to be “random” to the calendar system. Thus, Marilyn has to go through a very repetitive, time-consuming process of adding each meeting.
In days past, it was the responsibility of a human administrative assistant or secretary to tend to employees' calendars, taking care of these types of erratic work schedules and other schedule variations. Very few employees have this luxury today, however, and instead are responsible for maintaining their own schedules using electronic calendars. When an employee has to manually update his electronic calendar for every variation in his working hours and the meetings and other events that occupy those working hours, it is likely that some updates will not be made. As a result, accesses to the employee's calendar data will provide incorrect information about his availability. Accesses may be made by individuals and/or by applications. For example, suppose Ellen is attempting to schedule a department meeting with all of her co-workers, and accesses their electronic calendars to see when they will be in the office. If some department members do not have correct information on their calendars, Ellen might have to repeat the scheduling process when she learns that someone cannot actually attend. This process might take several attempts, wasting a considerable amount of time and effort. Even if the scheduling process is performed by an automated process (such as a scheduling utility), efficiency and accuracy are reduced when the electronic calendar data with which this process operates is not accurate.
With reference to the related invention titled “Calendar Events and Calendar-Driven Application Technique” (U.S. Pat. No. 6,988,128), if an automated voice mail system according to this related invention takes an incoming call to an employee's phone number and uses that employee's inaccurate calendar data to generate a message for the caller, the caller will be incorrectly informed as to the employee's availability. In some cases, this is merely a nuisance. On the other hand, if someone needs to locate the employee for an important business matter or for a personal emergency, the incorrect information can have significant consequences.
In general, when an electronic calendar user's actual schedule does not conform to the information that has been provided to the calendar system, individuals looking at the calendar can be misled and applications that rely on calendar data for input cannot function optimally. Accordingly, what is needed are improvements that enable calendar data to more accurately reflect a user's working hours and scheduled events.